package com.init.cachelist;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.init.ConfigInitial;
import com.init.SingletonCache;
import com.util.Json.Elem;
import com.util.Json.JSONData;
import com.util.LogUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import send.model.News;
import send.news.jsoupUtil;
import send.service.NewsService;
import sys.model.Questionnaire;
import sys.model.Tree;
import sys.service.QuestionnaireService;
import sys.service.TreeService;


/********************************************************
* 类名：
* 作者：shugen
* 修改记录：
*          日期                 修改人                 修改说明
********************************************************/
public class CacheList extends SpringBeanAutowiringSupport{

    @Autowired
    TreeService treeService;
	@Autowired
	QuestionnaireService questionnaireService;
	/********************************************************
	* 函数名: init
	* 功能     :
	* 作者      ：g.huangshg 2016-12-11
	* 参数表:     
	* 返回值: void    
	* 修改记录：
	*          日期                 修改人                 修改说明
	********************************************************/
	public void initAll(){
		initTree(1);
		initQuestionnare();
		initNews();
	}


	public void initTree(int i) {
		LogUtil.info("=====初始化缓存菜单树=====");
		List<Tree> trees=treeService.selectByUserType(i);
		trees = new com.util.Tree(trees).getTree();
		JSONData jData = new JSONData();
		jData.add(new Elem(trees,"treeid","treename","url","pid","trees"));
		SingletonCache.addToCache(i,jData.toString(),SingletonCache.getCache(ConfigInitial.Tree));
	}
	public void initQuestionnare() {
		LogUtil.info("=====初始化缓存问卷列表=====");
		List<Questionnaire> titleList=questionnaireService.selectTitleList();
		SingletonCache.addToCache(ConfigInitial.QuestionnareList,titleList,SingletonCache.getCache(ConfigInitial.Init));
	}
	public void initNews() {
		LogUtil.info("=====初始化新闻=====");
		List<News> list=new ArrayList<News>();
		try {
			list= jsoupUtil.getnewsnow();
		} catch (Exception e) {
			LogUtil.info("=====初始化新闻失败=====");
		}
		SingletonCache.addToCache(ConfigInitial.News,list,SingletonCache.getCache(ConfigInitial.Init));
	}


}